package cn.tedu.apiday02;

public class ClassAction {//测试包装类 原理都是一样的
    public static void main(String[] args) {
        int num = 5;//基本类型什么功能都没有，顶多算是一个变量，调用不了任何功能
        Integer i = new Integer(1);//创建Integer对象，把基本类型变成包装类型，
        Integer integer =Integer.valueOf(1);//静态方法，通过类名去点  基本类型转成包装类型,,如果数据在-128到127之间是高效的，相同数据只会创建一次
        Integer integer1 =Integer.valueOf(1);
        System.out.println(integer==integer1);//引用类型比的是地址值，证实了高效。因为在数据范围内，相同数据只会创建一次，
        int i1=Integer.parseInt("1587");//把字符串类型的数字转成int类型
        Integer integer2 = 5;//自动装箱，底层会自动完成，把基本类型变成包装类型   Integer.valueOf()
        int i2 = integer2;//自动拆箱，就是指把已经完成的包装类型，变回成基本类型,底层会自动调用integer2.intValue()
        System.out.println(i1);
        System.out.println(i.intValue());//把包装类型转回基本类型

        Double d = new Double(1.5);//创建Double对象，把基本类型变成包装类型，
        System.out.println(d);
        Double di = Double.valueOf(3.7);//静态方法，通过类名去点   基本类型转成包装类型
        System.out.println(di);
        double d1 = Double.parseDouble("2.5");//把字符串类型的数字转成double类型
        System.out.println(d1);
        System.out.println(d.doubleValue());//把包装类型转回基本类型
        System.out.println(di.doubleValue());//把包装类型转回基本类型


    }
}
